home *** CD-ROM | disk | FTP | other *** search
- /* This file controls the interface between the parser core and the auxiliary
- functions in entgen.c, sgmlio.c, and sgmlmsg.c */
-
- #include "std.h"
- #include "entity.h"
- #include "sgmldecl.h"
-
- /* Error types (ERRTYPE) for calls to error-handling services
- performed for SGML by the text processor (SGMLIO).
- NOTE: Strings in these blocks have no lengths, but cannot exceed
- NAMELEN (plus 1 more byte for the zero terminator).
- */
- #define FILERR 0 /* Error: file access. */
- #define DOCERR 1 /* Error: in document markup. */
- #define MDERR 2 /* Error: in markup declaration with subdcl. */
- #define MDERR2 3 /* Error: in markup declaration with no subdcl. */
- #define EXITERR 4 /* Error: terminal error in document markup. */
- /* Quantities affecting error messages and their arguments.
- */
- #define MAXARGS 2 /* Maximum number of arguments in a msg. */
-
- /* NOTE: Error handler must return, or next call to SGML must be RSET or END,
- except for EXITERR errors which must not return.
- */
- struct error { /* IPB for error messages. */
- UNS errtype; /* Type of error: DOC, MD, MD2, FIL. */
- UNS errnum; /* Error number. */
- UNS errsp; /* Special parameter index in message file. */
- int sverrno; /* Saved value of errno. */
- int parmno; /* MDERROR: declaration parameter number. */
- UNCH *subdcl; /* MDERROR: subject of declaration. */
- UNIV eparm[MAXARGS]; /* Ptrs to arguments (no length, but EOS). */
- };
-
- struct location {
- int filesw;
- unsigned long rcnt;
- int ccnt;
- UNCH curchar;
- UNCH nextchar;
- UNCH *ename;
- UNIV fcb;
- };
-
- int ioopen P((UNIV, UNIV*));
- VOID ioclose P((UNIV));
- int ioread P((UNIV, UNCH *, int *));
- VOID iopend P((UNIV, int, UNCH *));
- int iocont P((UNIV));
- VOID ioinit P((struct switches *));
- char *ioflid P((UNIV));
-
- UNIV entgen P((struct fpi *));
-
- VOID msgprint P((struct error *));
- VOID msginit P((struct switches *));
- UNIV msgsave P((struct error *));
- VOID msgsprint P((UNIV));
- VOID msgsfree P((UNIV));
- int msgcnterr P((void));
-
-
- int inprolog P((void));
- UNCH *getgi P((int));
-
- int getlocation P((int, struct location *));
- UNIV rmalloc P((unsigned int));
- UNIV rrealloc P((UNIV, UNS));
- VOID frem P((UNIV));
- VOID exiterr P((unsigned int,struct parse *));
-